package com.atguigu.yygh.hosp.repository;

import java.util.List;

import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

import com.atguigu.yygh.model.hosp.Hospital;

/** 
* 接口定义规范
* Spring Data : Spring 的一个子项目。用于简化数据库访问，支持NoSQL 和 关系数据存储。其主要目标是使数据库的访问变得方便快捷。
* SpringData 项目所支持 NoSQL 存储：       MongoDB （文档数据库）     Neo4j（图形数据库）     Redis（键/值存储）     Hbase（列族数据库）
* SpringData 项目所支持的关系数据存储技术：    JDBC      JPA
* 1. 不是随便声明的，而需要符合一定的规范
* 2. 查询方法以find | read | get开头
* 3. 涉及条件查询时，条件的属性用条件关键字连接
* 4. 要注意的是：条件属性首字母需要大写
* 5. 支持属性的级联查询，但若当前类有符合条件的属性则优先使用，而不使用级联属性,若需要使用级联属性，则属性之间使用_强制进行连接
* 
* Spring Data可以让我们只定义接口，只要遵循 Spring Data的规范，就无需写实现类。  
* 学习网址   https://my.oschina.net/u/4298395/blog/4064854
*/
@Repository
public interface HospitalRepository extends MongoRepository<Hospital, String> {

	/**
	 * 判断是否存在数据    MongoRepository 符合 Spring Data 规范 自动实现查询操作
	 * Spring Data可以让我们只定义接口，只要遵循 Spring Data的规范，就无需写实现类。  
	 * @param hostcode
	 * @return
	 */
	Hospital getHospitalByHostcode(String hostcode);

	List<Hospital> getHospitalByHostnameLike(String hostname);

	

}
